﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FatusoAction.Model;
using System.Net;
using System.Collections.Specialized;
using System.Configuration;

namespace FatusoAction
{
    public class CaronaAction
    {
        public static List<CaronaModel> ListarCaronas(string origem, string destino, DateTime dataInicio, TipoCarona tipoCarona)
        {
            string cidadeOrigem = (origem == String.Empty) ? String.Empty : RetornaCidade(origem);
            string cidadeDestino = (destino == String.Empty) ? String.Empty : RetornaCidade(destino);

            //http://unicaronas.com.br/buscarCarona.php?t=o&d=24%2F01%2F2014&h=&c_i=Santos+%28SP%29&c_i_id=4&b_i=&b_i_id=&c_f=Campinas+%28SP%29&c_f_id=10&b_f=&b_f_id=

            string tipo = "t";
            switch(tipoCarona)
            {
                case TipoCarona.Oferecimento: tipo = "o"; break;
                case TipoCarona.Pedido: tipo = "p"; break;
                default: break;
            }

            string downloadurl = "http://unicaronas.com.br/buscarCarona.php?t=" + tipo +
                "&d=" + Uri.EscapeDataString(dataInicio.ToString("dd/MM/yyyy")) +
                "&h=" + "" + //Hora não configuravel ainda
                "&c_i=" + origem +
                "&c_i_id=" + "" + //ID
                "&b_i=&b_i_id=&c_f=" + destino +
                "&c_f_id=" + "" + //ID
                "&b_f=&b_f_id=";


            //using (var client = new WebClient())
            //{
            //    var values = new NameValueCollection();
            //    byte[] result2 = client.UploadValues(downloadurl, values);

            //    string contentDisposition = client.ResponseHeaders["content-disposition"];
            //    int indexFile = contentDisposition.IndexOf('.');
            //    string extension = contentDisposition.Substring(indexFile);
            //    indexFile = extension.IndexOf("\"");
            //    extension = extension.Substring(0, indexFile);

            //    string caminhoDownload = ConfigurationSettings.AppSettings["CaminhoDownloadLegenda"].TrimEnd('\\');
            //    caminhoDownload += "\\" + legenda.NomePastaSerie;

            //    if (!Directory.Exists(caminhoDownload)) Directory.CreateDirectory(caminhoDownload);

            //    caminhoDownload += "\\" + legenda.Release + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + extension;
            //    File.WriteAllBytes(caminhoDownload, result2);
            //}
            return new List<CaronaModel>();

        }

        public static string RetornaCidade(string strCidade)
        {
            List<string> cidadesUniCaronas = new List<string>() { "São Paulo (SP)", "Campinas (SP)", "Santos (SP)", "Mogi Mirim (SP)" };
            string retorno = cidadesUniCaronas.Find(c => c.ToLower().Contains(strCidade.ToLower().Trim()));

            if (retorno == null || retorno == String.Empty)
                return strCidade;

            return Uri.EscapeDataString(retorno.Replace(' ', '+'));
        }

    }
}
